package cn.lj.service;

import cn.lj.common.response.Result;
import cn.lj.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 李津
 * @since 2021-04-13
 */
public interface UserService extends IService<User> {

    /**
     * 添加用户
     * @param user
     */
    void addUser(User user);

    /**
     * 根据用户名获得用户
     *
     * @param loginName 用户名
     * @return 用户
     */
    User findByLoginName(String loginName);


    /**
     * 导出用户Excel
     * @param response
     * @param users
     * @throws IOException
     */
    void exportUserExcel(HttpServletResponse response, List<User> users) throws IOException;

    /**
     * 根据Id修改单个用户,用户名和登录名不能重复
     * @param user
     */
    void updateUser(User user);


    /**
     * 删除用户
     * @param id
     * @return
     */
    Result delUser(Long id);

}
